/**
 * 存储Token
 * @param {string} token - 令牌
 */
export function setToken(token) {
  localStorage.setItem('token', token)
}

/**
 * 获取Token
 * @returns {string} Token
 */
export function getToken() {
  return localStorage.getItem('token') || ''
}

/**
 * 移除Token
 */
export function removeToken() {
  localStorage.removeItem('token')
}

/**
 * 判断是否有指定权限
 * @param {Array<string>} permissions - 权限列表
 * @param {string} permission - 要判断的权限
 * @returns {boolean} 是否有权限
 */
export function hasPermission(permissions, permission) {
  if (!permissions || !permissions.length) {
    return false
  }
  return permissions.includes(permission) || permissions.includes('*')
}

/**
 * 存储用户信息
 * @param {Object} userInfo - 用户信息
 */
export function setUserInfo(userInfo) {
  localStorage.setItem('userInfo', JSON.stringify(userInfo))
}

/**
 * 获取用户信息
 * @returns {Object} 用户信息
 */
export function getUserInfo() {
  const userInfo = localStorage.getItem('userInfo')
  return userInfo ? JSON.parse(userInfo) : {}
}

/**
 * 移除用户信息
 */
export function removeUserInfo() {
  localStorage.removeItem('userInfo')
}

/**
 * 清空所有认证信息
 */
export function clearAuthInfo() {
  removeToken()
  removeUserInfo()
}
</script>
